package ufpe;


/** 50:24 - 56:19
 * Defina a classe aula11.br.ufpe.cin.banco.Poupanca que herda de Conta
 *   - Define um construtor que recebe o numero como parametro e 
 *     chama o construtor da superclasse
 *   - Define o metodo renderJuros que recebe a taxa de juros como 
 *     parametro e rede o juros (como visto em sala aula)
 *		
 *
 */
public class Poupanca extends Conta {//ganha os atributos e metodos de Conta
	//private int i; se poupanca tivesse um atributo extra tipo int	
		public Poupanca(String numero){//,int x) {teriamos que inicializar o atributo no 
			//construto de poupanca
			super(numero);//chamar o contrutor da classe Conta herdada 
			//this.i = x;inicializa o atributo so de poupanca i - neste caso o construtor 
			//de poupanca precisaria receber a string para enviar pelo super a Conta e o 
			//int x para a propria classe poupanca
		}
		
		public void renderJuros(double taxa) {//recebo uma taxa de juros
			double juros = this.getSaldo() * taxa; //para esta classe acessar o metodo saldo 
			//ela tem que usar o metodo getSaldo que foi declarado publico em Contas, nos nao 
			//conseguriamos acessar o saldo diteto pois ele foi declarado private em conta.
			this.creditar(juros);//significa credite em mim(this) o valor passado com  o calculo 
			//de juros que recebeu taxa a ser aplicada, podemos usar todos os metodos publicos 
			//herdados pelo extends
			//se o atributo saldo fosse declarado como protected em Conta ele poderia ser 
			//acessado em poupanca usando this.saldo ao inves de this.getSaldo() por 
			//estarmos no mesmo pacote, se estivessemos em pacotes diferentes so com o metodo
		}
	}
